fix(core): restack OriginWeave protocol version binding - #241
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…-requirement' into codex/restack-pr241 Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Restacked non-destructively on PR #107 exact head |
Buyer/foundation repair
The protocol-generation binding originally reviewed in merged PR #108 was no longer present in the current #107 tree after the parent branch was reconstructed onto its moved prerequisite. Historical #108 is therefore lineage-only evidence. This Draft restores the missing production boundary on the current canonical #107 base and now also makes the browser protocol family itself an explicit fail-closed requirement.
Exact stack truth
feat/browser-protocol-capability-requirement:fd1651993571ccf5285f9df7a7db883e143868f032c0c7d488d7f644b8151cc142522f0cba4c64ebKeep Draft while #107 remains active. Predecessor checks/reviews do not transfer to this exact head.
Restored and strengthened contract
BrowserProtocolAdapterDescriptorrecordsOriginWeaveProtocolVersionindependently from adapter, WebDriver BiDi/CDP, and browser revisions. Exact generation mismatch fails closed with typedBrowserProtocolVersionRequirementError.The descriptor now also exposes
require_kind(BrowserProtocolKind). WebDriver BiDi and Chrome DevTools Protocol are never treated as interchangeable: an exact family match succeeds, while a mismatch returns typedBrowserProtocolKindRequirementError::ProtocolKindMismatch { required, actual }. The regression verifies the stable, source-free error contract. This is metadata/dispatch validation only; it grants no browser/session/origin/action/network authority and adds no cross-protocol fallback.Test-first evidence
RED head
532150a6a3870e5479817d86d92b98c5545c7455was checked out by hosted CI and failed exactly becauseBrowserProtocolKindRequirementErrorandrequire_kinddid not exist. The repair was then implemented on this same canonical branch.For unchanged GREEN head
32c0c7d488d7f644b8151cc142522f0cba4c64eb:33245039530: success;99080970474: formatting, workspace check, full tests, strict Clippy, and API documentation all success;33245039472: success.No predecessor, synthetic, model-only, status-only, skipped, or historical result is promoted to current-head evidence.
Authority boundary
This changes no browser I/O, authority grant, network/TLS/HTTP behavior, unrestricted JavaScript surface, secret handling, workflow, or release policy. Protected-main
AGENTS.mdremains authoritative. This scheduled writer does not merge, self-approve, force-push, destructively rebase, alter workflows/rulesets/secrets, weaken checks, tag, release, or publish.